#ifndef _VN_GAME_TIME_H
#define _VN_GAME_TIME_H

class GameTime
{
public:
	GameTime(void){}
	~GameTime(void){}

	virtual void update() = 0;	// run this ONCE ONLY in the main game loop in Core.cpp

	virtual float getTotalTimeAsSeconds() const = 0;
	virtual int getTotalTimeAsMilliseconds() const = 0;
	virtual long long getTotalTimeAsMicroseconds() const = 0;
	virtual float getElapsedTimeAsSeconds() const = 0;
	virtual int getElapsedTimeAsMilliseconds() const = 0;
	virtual long long getElapsedTimeAsMicroseconds() const = 0;
	virtual float deltaTime() const = 0;
};

#endif // _VN_GAME_TIME_H

